#ifndef PAUSE_STATE_
#define PAUSE_STATE_

#include "game.h"
#include "menu_state.h"
#include "menu_button.h"
#include "state_parser.h"

// PauseState inherit from MenuState as we want it to contain callbacks.
class PauseState : public MenuState {
private:
    static const std::string pause_id_;
    static void PauseToMain_();  // callback function
    static void ResumePlay_();
    std::vector<GameObject*> game_objects_;
    virtual void setCallbacks(const std::vector<Callback>& callbacks);

public:
    virtual void Update() override;
    virtual void Render() override;
    virtual bool OnEnter() override;
    virtual bool OnExit() override;
    virtual std::string get_stateid() const override { return pause_id_; }
};


#endif // PAUSE_STATE_

